package xin.marcher.module.construction.api;

import xin.marcher.module.common.core.JsonResult;
import xin.marcher.module.construction.domain.dto.*;
import xin.marcher.module.construction.domain.request.*;

import java.util.List;

/**
 * 商品服务接口
 */
public interface ProductApi {

    /**
     * 建品/编辑商品接口
     *
     * @param request
     */
    JsonResult<ProductDTO> product(ProductRequest request);

    /**
     * 修改商品价格接口
     *
     * @param request
     */
    JsonResult<SkuPriceResultDTO> updatePrice(SkuPriceRequest request);

    /**
     * 查询可售sku
     *
     * @param request
     */
    JsonResult<SaleSkuDTO> getSaleSku(QuerySaleSkuRequest request);

    /**
     * 根据itemId查询item信息
     *
     * @param request
     */
    JsonResult<List<ItemDetailDTO>> listItems(QueryItemListRequest request);


    /**
     * 根据skuId查询sku信息
     *
     * @param request
     */
    JsonResult<List<SkuDetailDTO>> listSkus(QuerySkuListRequest request);
}
